//导入express
const express = require('express');
//导入moment-timezone
const moment = require('moment-timezone');
//导入模型
const AccountModel = require('../../models/AccountModel');
//导入中间件，检测登录
const checkLoginMiddleware = require('../../middlewares/checkLoginMiddleware');

//设置时区
moment.tz.setDefault("Asia/Shanghai")

//创建路由对象
const router = express.Router();


//添加首页路由规则
router.get('/', (req, res)=>{
  //重定向到账本列表
  res.redirect('/account');

});


// 记账本列表
router.get('/account', checkLoginMiddleware, function(req, res, next) {
  
  //获取所有的账单信息
  // let accounts = db.get('accounts').value();
  AccountModel.find().sort({time: -1}).exec().then((data)=>{
    // console.log(data);
    //响应成功的提示
    res.render('list', {accounts:data, moment: moment});

  }).catch(()=>{
    res.status(500).send('读取失败~~~');
  });

});


//添加记录
router.get('/account/create', checkLoginMiddleware, function(req, res, next) {
  // res.render('index', { title: 'Express' });
  res.render('create');
});

//新增记录
router.post('/account', checkLoginMiddleware, (req, res) => {
  //插入数据库
  AccountModel.create({
    ...req.body,
    // 修改time属性的值
    time: moment(req.body.time).toDate()
  }).then((data)=>{   //改成promise语法
    //成功提醒
    res.render('success', {msg:'添加成功哦~~~',url: '/account'});
  }).catch((err)=>{
    res.status(500).send('插入失败~~~');
  }); 

  
});


//删除记录
router.get('/account/:id', checkLoginMiddleware, (req, res) => {
  //获取params的id参数
  let id = req.params.id;
  //删除
  AccountModel.deleteOne({_id: id}).then((data) => {
    //提醒
    res.render('success', {msg:'删除成功~~~',url: '/account'});
  }).catch((err) => {
    res.status(500).send('删除失败~~')
  });
  
});


module.exports = router;
